package file;

import java.io.File;
import java.io.FileFilter;

/**
 * @Classname: Test
 * @Author: bromide
 * @CreateTime: 2022/3/25--16:13
 * @Version: V1.0
 * @Desciption: 获取./src/file目录下所有名字以"D"开头的子项
 */
public class Test {
    public static void main(String[] args) {
        File dir = new File("./src/file");
        if (dir.isDirectory()) {
            FileFilter filter = new FileFilter() {
                public boolean accept(File file) {
                    return file.getName().startsWith("D");
                }
            };


            /*
              File[] listFiles(FileFilter filter)
              该方法会将目录中每一个子项都作为参数先传给filter的accept方法，
              只有accept方法返回为true的子项最终才会被包含在File[]数组中进行返回。
             */
            File[] subs = dir.listFiles(filter);
            System.out.println("一共有" + subs.length + "个子项");
            for (int i = 0; i < subs.length; i++) {
                System.out.println(subs[i].getName());
            }
        }
    }
}
